package cn.wetcland.item;

import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;

import java.util.ArrayList;

public class SeniorItems {


    /**
     *   强化石
     */
    public static ItemStack strengtheningStone(int level) {
        ItemStack itemStack = new ItemStack(Material.RED_DYE);
        ArrayList<String> arrayList = new ArrayList<>();
        ItemMeta itemMeta = itemStack.getItemMeta();
        itemMeta.addEnchant(Enchantment.LOOT_BONUS_BLOCKS, 3, true);
        switch (level) {
            case 1:
                itemMeta.setDisplayName("§d一级强化石");
                arrayList.add("§d品质: 普通");
                arrayList.add("§b强化等级 = 1");
                arrayList.add("§b有70%几率将当前武器的攻击力提升 1");
                arrayList.add("§b强化失败爆裂");
                break;
            case 2:
                itemMeta.setDisplayName("§d二级强化石");
                arrayList.add("§d品质: 普通");
                arrayList.add("§b强化等级 = 2");
                arrayList.add("§b有75%几率将当前武器的攻击力提升 3");
                arrayList.add("§b强化失败爆裂");
                break;
            case 3:
                itemMeta.setDisplayName("§d三级强化石");
                arrayList.add("§d品质: 无杂质");
                arrayList.add("§b强化等级 = 3");
                arrayList.add("§b有80%几率将当前武器的攻击力提升 4");
                arrayList.add("§b强化失败爆裂");
                break;
            case 4:
                itemMeta.setDisplayName("§d四级强化石");
                arrayList.add("§d品质: 无杂质");
                arrayList.add("§b强化等级 = 4");
                arrayList.add("§b有85%几率将当前武器的攻击力提升 5");
                arrayList.add("§b强化失败爆裂");
                break;
            case 5:
                itemMeta.setDisplayName("§d五级强化石");
                arrayList.add("§d品质: 优秀");
                arrayList.add("§b强化等级 = 5");
                arrayList.add("§b有90%几率将当前武器的攻击力提升 6");
                arrayList.add("§b强化失败爆裂");
                break;
            case 6:
                itemMeta.setDisplayName("§d六级强化石");
                arrayList.add("§d品质: 优秀");
                arrayList.add("§b强化等级 = 6");
                arrayList.add("§b有94%几率将当前武器的攻击力提升 7");
                arrayList.add("§b强化失败爆裂");
                break;
            case 7:
                itemMeta.setDisplayName("§d七级强化石");
                arrayList.add("§d品质: 精炼");
                arrayList.add("§b强化等级 = 7");
                arrayList.add("§b有96%几率将当前武器的攻击力提升 8");
                arrayList.add("§b强化失败爆裂");
                break;
            case 8:
                itemMeta.setDisplayName("§d八级强化石");
                arrayList.add("§d品质: 精炼");
                arrayList.add("§b强化等级 = 8");
                arrayList.add("§b有100%几率将当前武器的攻击力提升 10");
                arrayList.add("§b强化失败爆裂");
                break;
        }
        itemMeta.setLore(arrayList);
        itemStack.setItemMeta(itemMeta);
        return itemStack;
    }

    /**
     *   淬炼石
     * @param level
     * @return
     */
    public static ItemStack quenchingStone(int level) {
        ItemStack itemStack = new ItemStack(Material.LIGHT_BLUE_DYE);
        ArrayList<String> arrayList = new ArrayList<>();
        ItemMeta itemMeta = itemStack.getItemMeta();
        itemMeta.addEnchant(Enchantment.LOOT_BONUS_BLOCKS, 3, true);
        switch (level) {
            case 1:
                itemMeta.setDisplayName("§d一级淬炼石");
                arrayList.add("§d品质: 普通");
                arrayList.add("§b淬炼等级 = 1");
                arrayList.add("§b有70%几率将当前装备的保护提升 2");
                arrayList.add("§b强化失败爆裂");
                break;
            case 2:
                itemMeta.setDisplayName("§d二级淬炼石");
                arrayList.add("§d品质: 普通");
                arrayList.add("§b淬炼等级 = 2");
                arrayList.add("§b有75%几率将当前装备的保护提升 3");
                arrayList.add("§b强化失败爆裂");
                break;
            case 3:
                itemMeta.setDisplayName("§d三级淬炼石");
                arrayList.add("§d品质: 无杂质");
                arrayList.add("§b淬炼等级 = 3");
                arrayList.add("§b有80%几率将当前装备的保护提升 4");
                arrayList.add("§b强化失败爆裂");
                break;
            case 4:
                itemMeta.setDisplayName("§d四级淬炼石");
                arrayList.add("§d品质: 无杂质");
                arrayList.add("§b淬炼等级 = 4");
                arrayList.add("§b有85%几率将当前装备的保护提升 5");
                arrayList.add("§b强化失败爆裂");
                break;
            case 5:
                itemMeta.setDisplayName("§d五级淬炼石");
                arrayList.add("§d品质: 优秀");
                arrayList.add("§b淬炼等级 = 5");
                arrayList.add("§b有90%几率将当前装备的保护提升 6");
                arrayList.add("§b强化失败爆裂");
                break;
            case 6:
                itemMeta.setDisplayName("§d六级淬炼石");
                arrayList.add("§d品质: 优秀");
                arrayList.add("§b淬炼等级 = 6");
                arrayList.add("§b有94%几率将当前装备的保护提升 7");
                arrayList.add("§b强化失败爆裂");
                break;
            case 7:
                itemMeta.setDisplayName("§d七级淬炼石");
                arrayList.add("§d品质: 精炼");
                arrayList.add("§b淬炼等级 = 7");
                arrayList.add("§b有96%几率将当前装备的保护提升 8");
                arrayList.add("§b强化失败爆裂");
                break;
            case 8:
                itemMeta.setDisplayName("§d八级淬炼石");
                arrayList.add("§d品质: 精炼");
                arrayList.add("§b淬炼等级 = 8");
                arrayList.add("§b有100%几率将当前装备的保护提升 10");
                arrayList.add("§b强化失败爆裂");
                break;
        }
        itemMeta.setLore(arrayList);
        itemStack.setItemMeta(itemMeta);
        return itemStack;
    }

    /**
     *   等级石
     * @param level
     * @return
     */
    public static ItemStack gradeStone(int level) {
        ItemStack itemStack = new ItemStack(Material.PURPLE_DYE);
        ArrayList<String> arrayList = new ArrayList<>();
        ItemMeta itemMeta = itemStack.getItemMeta();
        itemMeta.addEnchant(Enchantment.LOOT_BONUS_BLOCKS, 3, true);
        switch (level) {
            case 1:
                itemMeta.setDisplayName("§d一级等级石");
                arrayList.add("§a血量提升至22");
                arrayList.add("§b集齐 3个晋升 下士");
                arrayList.add("§b集齐 6个晋升 中士");
                arrayList.add("§b集齐 10个晋升 上士");
                arrayList.add("§c注意: 无法越级晋升");
                break;
            case 2:
                itemMeta.setDisplayName("§d二级等级石");
                arrayList.add("§a血量提升至24");
                arrayList.add("§b集齐 4个晋升 少尉");
                arrayList.add("§c注意: 无法越级晋升");
                break;
            case 3:
                itemMeta.setDisplayName("§d三级等级石");
                arrayList.add("§a血量提升至26");
                arrayList.add("§b集齐 8个晋升 中尉");
                arrayList.add("§c注意: 无法越级晋升");
                break;
            case 4:
                itemMeta.setDisplayName("§d四级等级石");
                arrayList.add("§a血量提升至28");
                arrayList.add("§b集齐 8个晋升 上尉");
                arrayList.add("§c注意: 无法越级晋升");
                break;
            case 5:
                itemMeta.setDisplayName("§d五级等级石");
                arrayList.add("§a血量提升至30");
                arrayList.add("§b集齐 8个晋升 少校");
                arrayList.add("§c注意: 无法越级晋升");
                break;
            case 6:
                itemMeta.setDisplayName("§d六级等级石");
                arrayList.add("§a血量提升至32");
                arrayList.add("§b集齐 8个晋升 中校");
                arrayList.add("§c注意: 无法越级晋升");
                break;
            case 7:
                itemMeta.setDisplayName("§d七级等级石");
                arrayList.add("§a血量提升至34");
                arrayList.add("§b集齐 8个晋升 上校");
                arrayList.add("§c注意: 无法越级晋升");
                break;
            case 8:
                itemMeta.setDisplayName("§d八级等级石");
                arrayList.add("§a血量提升至36");
                arrayList.add("§b集齐 4个晋升 将军");
                arrayList.add("§b集齐 8个晋升 统帅");
                arrayList.add("§c注意: 无法越级晋升");
                break;
            case 9:
                itemMeta.setDisplayName("§d九级等级石");
                arrayList.add("§a血量提升至38");
                arrayList.add("§b集齐 4个晋升 督军");
                arrayList.add("§c注意: 无法越级晋升");
                break;
            case 10:
                itemMeta.setDisplayName("§d十级等级石");
                arrayList.add("§a血量提升至40");
                arrayList.add("§b集齐 1个晋升 大都督");
                arrayList.add("§c注意: 无法越级晋升");
                break;
        }
        itemMeta.setLore(arrayList);
        itemStack.setItemMeta(itemMeta);
        return itemStack;
    }

    /**
     * 生成 求婚海螺
     * @return 求婚海螺
     */
    public static ItemStack proposalConch() {
        ItemStack itemStack = new ItemStack(Material.NAUTILUS_SHELL);
        ItemMeta itemMeta = itemStack.getItemMeta();
        itemMeta.setDisplayName("§d求婚海螺");
        ArrayList<String> strings = new ArrayList<>();
        strings.add("§b拿着它去点击TA发出求婚");
        itemMeta.setLore(strings);
        itemStack.setItemMeta(itemMeta);
        return itemStack;
    }

    /**
     * 生成 Wetcland小助手
     * @return Wetcland小助手
     */
    public static ItemStack mainMenuItem() {
        // 小助手 玩家头颅
        ItemStack itemStack = new ItemStack(Material.CLOCK);
        itemStack.addUnsafeEnchantment(Enchantment.DURABILITY, 3);
        ItemMeta itemMeta = itemStack.getItemMeta();
        itemMeta.setDisplayName("§d[Wetcland]§b小助手");
        ArrayList<String> strings = new ArrayList<String>();
        strings.add("§b内置丰富菜单");
        strings.add("§a右键打开");
        itemMeta.setLore(strings);
        itemStack.setItemMeta(itemMeta);
        return itemStack;
    }
}
